  // src/test/java/base/Base.java

package base;

import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.*;
import java.io.File;

public class Base {
    protected AndroidDriver<MobileElement> driver;

    @BeforeMethod
        public void setUp(){
            File appDir = new File("src/main/resources/apps");
            File app = new File(appDir, "ApiDemos-debug.apk");

            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,
                            "Android Emulator");
            capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,
                            "android");
            capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME,
                            "UiAutomator2");
            capabilities.setCapability(MobileCapabilityType.APP,
                            app.getAbsolutePath());
            capabilities.setCapability("avd", "Oreo");
            capabilities.setCapability("appPackage", "io.appium.android.apis"); 
            driver = new AndroidDriver<MobileElement>(capabilities);
    }

    @AfterMethod
    public void tearDown(){
        driver.quit();
    }
}
